From 0993003c805f8615e43ecc79f37a75ee99c87944 Mon Sep 17 00:00:00 2001 From: "kaf24@localhost.localdomain" Date: Fri, 26 Jan 2007 10:10:12 +0000 Subject: [PATCH] 32-on-64: Fix register-argument rearrangement to avoid clobbering the fifth hypercall argument. Signed-off-by: Keir Fraser --- xen/arch/x86/x86_64/compat/entry.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S index 8e8285b8f5..dadd1abe65 100644 --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -33,11 +33,11 @@ ENTRY(compat_hypercall) #else /* Relocate argument registers and zero-extend to 64 bits. */ movl %eax,%eax /* Hypercall # */ - movl UREGS_rbx(%rsp),%edi /* Arg 1 */ xchgl %ecx,%esi /* Arg 2, Arg 4 */ movl %edx,%edx /* Arg 3 */ movl %edi,%r8d /* Arg 5 */ movl %ebp,%r9d /* Arg 6 */ + movl UREGS_rbx(%rsp),%edi /* Arg 1 */ #endif leaq compat_hypercall_table(%rip),%r10 PERFC_INCR(PERFC_hypercalls, %rax) -- 2.30.2